/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package mx.itschapala.dsw2.controlcobros.vista;

import java.util.List;
import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.event.ActionEvent;
import mx.itschapala.dsw2.controlcobros.Bl.PagosBlLocal;
import mx.itschapala.dsw2.controlcobros.Bl.UsuarioBlLocal;
import mx.itschapala.dsw2.controlcobros.modelo.Pagos;
import mx.itschapala.dsw2.controlcobros.modelo.Usuario;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hssf.util.HSSFColor;

/**
 *
 * @author Maricela
 */
@ManagedBean
@SessionScoped
public class PagosBean {
    //-------------------EJB---------------
    @EJB
    private UsuarioBlLocal usuarioBl;
    @EJB
    private PagosBlLocal pagosBl;
    //---------- Variables---------------
    private List<Pagos> lista;
    private List<Usuario> listaUsuario;
    private Pagos payment;
    private int idUsuarioSeleccionado;
    private String accion;
    private Usuario idUsuario;
    private String semana;
    private String semanasPagar;
    private String colegiatura;
    private String descuento;
    private String recargo;
    private String totalPago;
    
//---------- Constructor------------
    

    public PagosBean() {
         payment = new Pagos ();
         
    }
    ///--------- Metodos Get y Set-------

    public String getSemanasPagar() {
        return semanasPagar;
    }

    public void setSemanasPagar(String semanasPagar) {
        this.semanasPagar = semanasPagar;
    }

    public String getColegiatura() {
        return colegiatura;
    }

    public void setColegiatura(String colegiatura) {
        this.colegiatura = colegiatura;
    }

    public String getDescuento() {
        return descuento;
    }

    public void setDescuento(String descuento) {
        this.descuento = descuento;
    }

    public String getRecargo() {
        return recargo;
    }

    public void setRecargo(String recargo) {
        this.recargo = recargo;
    }

    public String getTotalPago() {
        return totalPago;
    }

    public void setTotalPago(String totalPago) {
        this.totalPago = totalPago;
    }

    public String getSemana() {
        return semana;
    }

    public void setSemana(String semana) {
        this.semana = semana;
    }

    public Usuario getIdUsuario() {
        return idUsuario;
    }

    public void setIdUsuario(Usuario idUsuario) {
        this.idUsuario = idUsuario;
    }    
     public List<Usuario> getListaUsuario() {
         listaUsuario=usuarioBl.getAll();
        return listaUsuario;
    }
     public List<Pagos> getLista() {
        lista=pagosBl.getAll();
        return lista;
    }

    public Pagos getPayment() {
        return payment;
    }

    public void setPayment(Pagos payment) {
        this.payment = payment;
    }
     public int getIdUsuarioSeleccionado() {
        return idUsuarioSeleccionado;
    }

    public void setIdUsuarioSeleccionado(int idUsuarioSeleccionado) {
        this.idUsuarioSeleccionado = idUsuarioSeleccionado;
    }
    //---------- Acciones----------------
    public String procesarAccion (){
    if (accion.equalsIgnoreCase("Nuevo")){
        payment.setSemana(Integer.parseInt(semana));
        payment.setSemanasPagar(Integer.parseInt(semanasPagar));
        payment.setColegiatura(Integer.parseInt(colegiatura));
        payment.setDescuento(Integer.parseInt(descuento));
        payment.setRecargo(Integer.parseInt(recargo));
        payment.setTotalPago(Integer.parseInt(totalPago));

    pagosBl.registerPayment(payment);
    }
    accion ="";
    return "Pagos";
    
    }
//---------- Listeners---------------
     public void prepararNuevo (ActionEvent evt){
    payment= new Pagos ();
    accion="Nuevo";
    }  
    public String prepararUsuario (){
       payment.setIdUsuario(usuarioBl.findById(idUsuarioSeleccionado));
      System.out.println(">>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<"+ idUsuarioSeleccionado);
      return "ConfirmarPagos";
    }
    
    public void postProcessXLS(Object document) {  
    HSSFWorkbook wb = (HSSFWorkbook) document;  
    HSSFSheet sheet = wb.getSheetAt(0);  
    HSSFRow header = sheet.getRow(0);  
      
    HSSFCellStyle cellStyle = wb.createCellStyle();    
    cellStyle.setFillForegroundColor(HSSFColor.GREEN.index);  
    cellStyle.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);  
      
    for(int i=0; i < header.getPhysicalNumberOfCells();i++) {  
        HSSFCell cell = header.getCell(i);  
          
        cell.setCellStyle(cellStyle);  
    }  
}  
}
